// javamaps
// Copyright (c) 2010 Lup Gratian
package Rendering;
import Core.*;

public interface IRenderer {
    ILayer Layer();
    boolean IsEditor();
    boolean HasPrefetcher();
    IPrefetcher Prefetcher();
    void Render(View view);

    boolean Visible();
    void SetVisible(boolean value);

    int ZIndex();
    void SetZIndex(int value);

    double Opacity();
    void SetOpacity(double value);

    IObjectInfo HitTest(Point point, View view);
    boolean MouseDown(Point point, View view, Modifier modifier);
    boolean MouseUp(Point point, View view, Modifier modifier);
    boolean MouseMoved(Point point, View view, Modifier modifier);
    boolean MouseDragged(Point point, View view, Modifier modifier);
    boolean MouseCaptured(); // Setat in timpul operatiilor de drag.
}